Hidden Algebra for Software Engineering

نویسنده

  • Joseph A. Goguen
چکیده

This paper is an introduction to recent research on hidden algebra and its application to software engineering; it is intended to be informal and friendly, but still precise. We rst review classical algebraic speciication for traditional \Platonic" abstract data types like integers, vectors, matrices, and lists. Software engineering also needs changeable \abstract machines," recently called \objects," that can communicate concurrently with other objects through visible \attributes" and state-changing \methods." Hidden algebra is a new development in algebraic semantics designed to handle such systems. Equational theories are used in both cases, but the notion of satisfaction for hidden algebra is behavioral, in the sense that equations need only appear to be true under all possible experiments; this extra exibility is needed to accommodate the clever implementations that software engineers often use to conserve space and/or time. The most important results in hidden algebra are powerful hidden coinduction principles for proving behavioral properties. This paper also includes some comparison with the closely related area called coalgebra, and some bits of history.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Behavioral Correctness Proofs for Objects

This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavioral correctness of concurrent systems; several mechanical proofs are given using OBJ3. We also sh...

متن کامل

Hidden Algebraic Engineering 1

This paper outlines a research programme in algebraic engineering. It starts with a review of classical algebraic speciication for abstract data types, such as integers, vectors, booleans, and lists. Software engineering also needs abstract machines, recently called \objects," that can communicate concurrently with other objects, and that have local states with visible \attributes" that are cha...

متن کامل

Web-based Support for Cooperative Software Engineering1

The Tatami project is building a system to support software engineering over the internet, exploiting recent advances in web technology, interface design, and specification. Our effort to improve the usability of such systems has led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems has led us into hidden algebra and fuzzy logic. T...

متن کامل

A hidden agenda

This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. Selected literature on concurrency and the object paradigm is reviewed, and a new perspective on nondeter-minism is developed. The main contribution is powerful hidden coinduction ...

متن کامل

Web-based Multimedia Support for Distributed Cooperative Software Engineering1

The Tatami project is building a system to support software engineering over the internet, exploiting recent advances in web technology, interface design, and specification. Our effort to improve the usability of such systems led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems led us into hidden algebra. We discuss the Tatami sys...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999